package com.ruoyi.hazard.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("隐患信息返回对象")
public class HazardInfoVo extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @Excel(name = "序号", type = Excel.Type.ALL, cellType = Excel.ColumnType.NUMERIC, prompt = "序号")
    private Long id;
//    @Excel(name = "隐患名称")
//    @ApiModelProperty(value = "隐患名称")
//    private String name;
    @Excel(name = "监所名称",width = 15)
    @ApiModelProperty(value = "监狱名称")
    private String deptName;
    @Excel(name = "责任科室（监区）" ,width = 15)
    @ApiModelProperty(value = "内设机构")
    private String subDept;

    @Excel(name = "具体位置" ,width = 15)
    @ApiModelProperty(value = "隐患位置")
    private String location;
    @Excel(name = "隐患描述" ,width = 30)
    @ApiModelProperty(value = "隐患详细描述")
    private String description;
    @Excel(name = "隐患等级" ,width = 10)
    @ApiModelProperty(value = "隐患等级（关联字典hazard_level）")
    private String level;
    @Excel(name = "隐患类别",width = 10)
    @ApiModelProperty(value = "隐患类别（关联字典hazard_type）")
    private String type;

//    @ApiModelProperty(value = "流转状态（new-新建, auditing-审核中, approved-审核通过, rejected-审核不通过）")
//    private String status = "new";
    @Excel(name = "检查日期", width = 15, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "检查日期")
    private Date checkDate;
    @Excel(name = "整改期限", width = 15, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "整改期限")
    private Date deadline;
    @Excel(name = "整改日期", width = 15, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "整改完成日期")
    private Date finishDate;
    @Excel(name = "整改说明",width = 20)
    @ApiModelProperty(value = "整改说明")
    private String remark;
//    @ApiModelProperty(value = "是否启用督办")
//    private Boolean enableSupervise=false;
//    @Excel(name = "督办", readConverterExp = "true=已督办,false=督办中,null=无" ,width = 10)
//    @ApiModelProperty(value = "督办状态")
//    private Boolean supervised;
    @Excel(name = "督办等级",width = 10)
    @ApiModelProperty(value = "督办等级")
    private String superviseLevel;

    @Excel(name = "整改状态", readConverterExp = "true=已整改,false=整改中,null=无" ,cellType=Excel.ColumnType.BOOLEAN,width = 10)
    @ApiModelProperty(value = "整改状态")
    private Boolean finished;
    //@Excel(name = "是否启用督办", readConverterExp = "true=已整改,false=整改中,null=无" ,cellType=Excel.ColumnType.BOOLEAN)


//    public void setSupervised(Boolean supervised) {
//        if(this.enableSupervise){
//            this.supervised = supervised;
//        }else {
//            this.supervised=null;
//        }
//       // return this.supervised;
//    }

    //@Excel(name = "监狱编号", type = Excel.Type.IMPORT)
    @ApiModelProperty(value = "数据所属监狱")
    private Long deptId;



    @ApiModelProperty(value = "文档附件信息集合（文件URL列表）")
    private String attachmentsDocument;

    @ApiModelProperty(value = "图片附件信息集合（图片URL列表）")
    private String attachmentsImage;

    @ApiModelProperty(value = "整改文档附件信息集合（文件URL列表）")
    private String attachmentsDocument2;

    @ApiModelProperty(value = "整改图片附件信息集合（图片URL列表）")
    private String attachmentsImage2;


//    @ApiModelProperty(value = "是否挂起（0-未挂起, 1-已挂起）")
//    private Boolean hangup;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "删除标记")
    private String delFlag;

//    @ApiModelProperty(value = "隐患跟踪信息集合")
//    private List<HazardTrackInfoVo> hazardTracks;
}
